package org.example.executor.statement;

import org.example.mapping.BoundSql;
import org.example.session.ResultHandler;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

public interface StatementHandler {
    <E> List<E> query(Statement statement, ResultHandler resultHandler)
            throws SQLException;

    BoundSql getBoundSql();

    Statement prepare(Connection connection) throws SQLException;

    void parameterize(Statement stmt);
}